JkDefrag v3.16

Free (released under the GNU General Public License) disk defragment and optimize utility for Windows 2000/2003/XP/Vista/X64. Completely automatic and very easy to use, fast, low overhead, with several optimization strategies, and can handle floppies and USB disks/sticks. Included are a Windows version, a commandline version (for scheduling by the task scheduler or for use from administrator scripts), a screensaver version, a DLL library (for use from programming languages), and versions for Windows X64.

 *  Download JkDefrag v3.16 (327kb) for Windows 2000/2003/XP/Vista
 *  Download JkDefrag64 v3.16 (314kb) for Windows X64


Free GNU software
Tip: For translated versions see the "Contributed by other people" chapter.

If you are a programmer you might be interested in the sources. Included is a DLL library (released under the GNU Lesser General Public License) containing all the defragger subroutines, which you can call from just about any programming language (for example Delphi and Visual Basic).

 *  Download JkDefrag v3.16 sources (257kb) for Microsoft Visual C++ 2005

JkDefrag Forum


I have set up a forum for JkDefrag, a place where you can ask questions, give feedback about features you would like, share your experiences, share code that uses the defragger library, and other things about JkDefrag.

 *  Jump to JkDefrag forum

Install


There is no "setup" or "install" and no configuration file. All you have to do is download the zip and unpack. It contains the following 3 programs:

JkDefrag.exe
Windows version. This is what most people will use. No installation or configuration necessary, it's ready to run and will automatically process all the mounted, writable, fixed volumes on your computer
JkDefragCmd.exe
Commandline version. Specially designed to be run automatically in the background, or from administrator scripts. See the "running" chapter below for a list of commandline options, and the "Frequently Asked Questions" on how to run it automatically with the Windows Scheduler.
JkDefragScreenSaver.scr + JkDefragScreenSaver.exe
Screen saver version. Move (or copy) these two files to the "system32" folder on your harddisk (usually "c:\Windows\System32\" or "c:\Winnt\System32\"). It will automatically become visible in the list of screensavers as "JkDefrag screensaver" and can be used just like any other screensaver (right-click somewhere on your desktop and select Properties/Personalize, then select the Screen Saver tab).
Note: on Vista the screensaver only works with User Account Control turned off (see Control Panel, User Accounts, Turn User Account Control on or off).
Note: screensavers do not lengthen the lifespan of CRT and LCD monitors, contrary to popular belief. It is better to let the monitor be turned off by the Windows energy saving settings.
The Windows version of JkDefrag shows a high-detail map of the harddisk, refreshed 3 times per second. Bottom-left of the window is the beginning of the harddisk. The colors used are:
  • Black: empty
  • Dark-green: in use
  • Green: defragmented
  • Yellow: fragmented
  • Red: unmovable
  • Pink: system files
  • White: busy

Snapshot of JkDefrag in action. The program is completely automatic,
there are no buttons and no pull-down menu's.

Running


JkDefrag is completely automatic.
The commandline options are not needed for normal use.

Default behavior of JkDefrag is to automatically process all the mounted, writable, fixed volumes on your computer. You can change this behaviour with the following commandline options:

For example:     JkDefrag.exe -a 7 -d 2 -q c: d:
 
-a N     Select an action to perform. The number N is a value from 1 to 11, default is 3:
1 = Analyze only, do not fixup and do not optimize.
2 = Analyze and fixup, do not optimize.
3 = Analyze, fixup, and fast optimization (default).
5 = Analyze and force together.
6 = Analyze and move to end of disk.
7 = Analyze and sort files by name (folder + filename).
8 = Analyze and sort files by size (smallest first).
9 = Analyze and sort files by last access (newest first).
10 = Analyze and sort files by last change (oldest first).
11 = Analyze and sort files by creation time (oldest first).
-e "mask"     Exclude files and/or directories that match the mask. The items will not be defragged and will not be moved. Use wildcards '*' and '?' in the mask to match a set of files or directories. If the mask contains a space then it must be enclosed in double-quotes. Some examples:
JkDefrag -e *.avi -e *.zip -e *.log
JkDefrag -e D:\MySQL\Data\*
-u "mask"     Files that match a mask will be moved to the SpaceHogs area. The program has a build-in list for all files bigger than 50 megabytes, files not accessed in the last month, archives, files in the recycler bin, service pack files, and some others. Disable this list by specifying the special mask "DisableDefaults". Use wildcards '*' and '?' in the mask to match a set of files or directories. If the mask contains a space then it must be enclosed in double-quotes. Some examples:
JkDefrag -u *.avi -u *.zip -u *.log
JkDefrag -u D:\MySQL\Data\*
-s N     Slow down to N percent (1...100) of normal speed. Default is 100.
-f N     Set the size of the free spaces to N percent (0...100) of the size of the volume. The free spaces are room on disk for temporary files. There are 2 free spaces, between the 3 zones (directories, regular files, space hogs). Default is 1% (per free space).
-d N     Select a debug level, controlling the messages that will be written to the logfile. The number N is a value from 0 to 6, default is 1:
0 = Fatal errors.
1 = Warning messages [default].
2 = General progress messages.
3 = Detailed progress messages.
4 = Detailed file information.
5 = Detailed gap-filling messages.
6 = Detailed gap-finding messages.
-l "filename"     Specify a filename for the logfile. Default is "JkDefrag.log" and "JkDefragCmd.log". Specify empty string "" (two double-quotes) to disable the logfile.
-h     [commandline version only] Show a short help text.
-help     [commandline version only] Show a short help text.
--help     [commandline version only] Show a short help text.
/?     [commandline version only] Show a short help text.
-q     [windows version only] Quit the program when it has finished.
items     The items to be defragmented and optimized, such as a file, directory, disk, mountpoint, or volume, including removable media such as floppies, USB disks, memory sticks, and other volumes that behave like a harddisk. Wildcards '*' and '?' are allowed to select a set of files. If the item contains a space then it must be enclosed in double-quotes. The last character in a name should never be a backslash. Some examples:
JkDefrag C: D:
JkDefrag f:\*.log D:\MySQL\Data\*

Permissions
JkDefrag needs "full control" permissions to all files and disks that it must defragment/optimize. On a default Windows system the "administrator" userid has full permissions to all files and disks. Users can also run JkDefrag, but then it can only defragment/optimize the files and disks for which the user has "full control". On Windows Vista: right-click the JkDefrag program and select "run as administrator".
Stopping
All versions of JkDefrag can be stopped safely at any time, there is no risk of losing data or corrupting your disk. You can use all the usual ways to stop a Windows program, such as pressing ALT-F4, clicking the 'x' in the top-right corner, via the pull-down menu in the taskbar, or by killing the program via the task manager or another utility. The commandline program can be stopped the same way, plus by pressing CTRL-C, or BREAK. It may take a bit of time for the program to actually stop, JkDefrag will finish the current file in the background.
Fixup
Defragment, rezone, and reclaim MFT. For more information see the "How it works" chapter.
Fast optimization
This optimization strategy is designed for every day use. It moves a minimum of data on the harddisk and finishes very quickly, but will not fill all the gaps on the disk. The strategy scans for gaps on the disk and fills them with files from above.
Sorted optimization
All the sorting optimizations WILL CREATE FRAGMENTS. This is by design, it is not a bug. For more info see the Frequently Asked Questions.
These sorting optimizations are for incidental use once in a while. They take a lot of running time and data movement because they rewrite all the data on the disk. The strategies vacate a small area on disk and then fill it up again with the files in the selected order.
  • Sort by name: very good for fast program starting. The files used by a particular program will be very close together on disk.
  • Sort by size: placing all the small files together at the begin of the disk will dramatically reduce the average file seek time.
  • Sort by last access: files that have not been accessed in a while are probably unimportant and are best sorted to the back.
  • Sort by last change: placing files together that change a lot (for example databases and logfiles) will speed up regular operation of the system.
  • Sort by creation time: The oldest files on the disk are likely to be important system files, for example used when Windows is booting.
Force together
Intended for partition resizing. All movable files are moved to the beginning of the disk, even if it means fragmenting them to fill gaps that cannot be filled otherwise.
Move to end of disk
Move all the files to the end of the disk, making more room at the beginning of the disk. Intended for big and rarely used files such as logfiles, backup archives, installation files, and such.
Logfile
JkDefrag writes all messages to a logfile called "JkDefrag.log", or "JkDefragCmd.log", or "JkDefragScreenSaver.log", depending on which version you are using. You can inspect the logfile if you want, it's a flat-text file. The logfile is automatically cleared when the program starts, it does not grow to infinity.

Tip: Cleanup old junk from your harddisk before running JkDefrag.

Tip: Reboot before running JkDefrag. This will release files that are in use, so they can be defragged.

Tip: Stop your realtime virus scanner before running JkDefrag. Virus scanners check all disk activity, making defragmentation and optimization very slow.

Tip: Move the swapfile to another volume, reboot, defragment, and move the swapfile back. If you don't have a second volume then temporarily make the swapfile small, for example 100Mb.

Tip: If an application (for example a database) prevents certain files from being defragged then stop the application, run JkDefrag for the particular data directory only, and restart the application.

Frequently asked questions


How safe is it?
JkDefrag is based on the standard defragmentation API by Microsoft, a system library that is included in Windows 2000, 2003, XP, and Vista. Most defragmenters are based on this API, including commercial defragmenters. JkDefrag is therefore very solid and there is no risk of losing data. You can stop the program at any time, it will finish the current file in the background. If your disks use NTFS then you're even safe when the computer crashes in the middle of defragging. Nevertheless, it's still a good idea to backup before defragmenting, just like with other defragmenters, because the heavy use of the harddisk may trigger a hardware fault.

Defragmentation and optimizing will not only make a harddisk faster, but also lengthen it's lifespan. The disk will have less work to do and therefore have less wear and tear. Secondly, the sorting optimization strategies (see the "-a" option) will refresh all the magnetic data on your harddisk. However, defragmenting and optimizing is work, so excessive defragmenting and optimizing can actually cause more wear and tear than it prevents. JkDefrag is therefore set for "fast" optimization by default, intended to be used on a daily basis. The other optimizations should only be used occasionally.

How do I specify an option, or select a single disk (or folder or file)?
Take a look at the GUI wrappers, see the "Contributed by other people" chapter. Personally I find the commandline the easiest way to specify options. Another way is to create a shortcut to "JkDefrag.exe", open the properties of the shortcut, and add the desired commandline options (for example "-a 4") or the name(s) of the disk/folder/file (for example "C:") to the end of the "target" line. For example:
"C:\JkDefrag\JkDefrag.exe" -a 4
"C:\JkDefrag\JkDefrag.exe" D:\
Tip: In the same properties window you can select "minimized".
Tip: See the "-q" option to exit automatically when finished.

Where is the Stop button?
All versions of JkDefrag can be stopped safely at any time, there is no risk of losing data or corrupting your disk. You can use all the usual ways to stop a Windows program, such as pressing ALT-F4, clicking the 'x' in the top-right corner, via the pull-down menu in the taskbar, or by killing the program via the task manager or another utility. The commandline program can be stopped the same way, plus by pressing CTRL-C, or BREAK. It may take a bit of time for the program to actually stop, JkDefrag will finish the current file in the background.

How can I run JkDefrag automatically every day?
It's a great idea to run JkDefrag automatically every day by adding it to the Windows scheduler, like this:
  • Start -> Control Panel -> Scheduled Tasks -> Add Scheduled Task
  • The wizard starts, click 'Next'.
  • Use the 'browse' button to select the 'JkDefragCmd.exe' program.
  • Select 'daily', next, select a time, next.
  • Enter a userid/password with administrator privileges, click 'Finish'.

How do I use the screensaver?
See the instructions in the "Install" chapter.

How to run JkDefrag at boot-time?
It's very easy to run JkDefrag automatically in the background when the computer starts via the Windows Task Scheduler:
  • Start -> Control Panel -> Scheduled Tasks -> Add Scheduled Task
  • The wizard starts, click 'Next'.
  • Use the 'browse' button to select the 'JkDefragCmd.exe' program.
  • Select 'When my computer starts', click next.
  • Enter a userid/password with administrator privileges, click 'Finish'.
Note: This will not defrag system files such as the pagefile. To do that see the "see also" chapter for a link to Pagedefrag, a free utility by Microsoft Technet (formerly SysInternals).

How to start minimized, or maximized?
Make a shortcut to the "JkDefrag.exe" program, open the properties of the shortcut, find the "run" setting, and select "minimized" or "maximized".

Why is my disk not perfectly optimized?
  • There are many files that cannot be moved while Windows is running, because they are in use by an application, or by a service, or by Windows itself. See the "-d" commandline options and the logfile for more information. They can be anywhere on disk and are usually fragmented into microscopically small segments. In other words, the harddisk is not a big block of space where files can be moved at will, but thousands of little blocks bounded by unmovable data.
    A typical harddisk can easily contain tens of thousands of files, all with different sizes. What is the optimum way to organize the files into the blocks? The number of permutations is astronomical, it boggles the mind. JkDefrag doesn't even try to calculate them all. It concerns itself with only one block at a time, trying to fit only files from above the block, and limits itself to 0.5 seconds of calculating time.
    So it's very unlikely, if not impossible, for JkDefrag to perfectly optimize your disk, more's the pity.
  • Gaps are only filled with files from above the gap (fast optimization). If there are no files that fit the gap (all files are bigger) then the gap cannot be filled.
  • Gaps can only be enlarged by the full optimization if it can move whatever file is just above the gap.
  • Files can only be fully defragged if there is a gap large enough to hold the entire file. If no such gap is available then JkDefrag will try to reduce the number of fragments by moving the file to the largest gaps available.
  • JkDefrag maintains a "free space" area between the directories and the regular files, and between the regular files and the space hogs. This is by design. See the "-f" commandline option to control the size of these free spaces.

Why do the sorting optimizations create fragments?
The sorting optimizations will move all the data to the beginning of the harddisk. But there may be some unmovable files in the way. Instead of leaving gaps (if a file doesn't fit between the last file and the unmovable file), the program will "wrap around" the unmovable files by splitting regular files into fragments. This may seem strange for a defragmenter, but the fragments are aligned and therefore have a very small impact on performance. Gaps however would make all the files above the gaps slower, because they would then be placed at a slightly slower part of the harddisk then they need to be. The fragments look terrible on the screen and in the statistics, but are there to make your harddisk faster!

What are SpaceHogs?
SpaceHogs are less important files that take up a lot of space. JkDefrag moves them behind the directories and the regular files, to make those faster. The internal list of SpaceHogs is (you can add more with the "-u" commandline option):
  • Files bigger than 50 megabytes
  • Files not accessed in the last month
  • ?:\Program Files\Installshield Installation Information\*
  • ?:\Archivos de programa\Installshield Installation Information\*
  • ?:\Arquivos de programas\Installshield Installation Information\*
  • ?:\Ohjelmatiedostot\Installshield Installation Information\*
  • ?:\Program\Installshield Installation Information\*
  • ?:\Programas\Installshield Installation Information\*
  • ?:\ProgramFiler\Installshield Installation Information\*
  • ?:\Programme\Installshield Installation Information\*
  • ?:\Programmer\Installshield Installation Information\*
  • ?:\Programmes\Installshield Installation Information\*
  • ?:\Programmi\Installshield Installation Information\*
  • ?:\RECYCLER\*
  • ?:\System Volume Information\*
  • ?:\WINDOWS\$*
  • ?:\WINDOWS\I386\*
  • ?:\WINDOWS\ie7updates\*
  • ?:\WINDOWS\Installer\*
  • ?:\WINDOWS\ServicePackFiles\*
  • ?:\WINDOWS\SoftwareDistribution\*
  • ?:\WINDOWS\Downloaded Installations\*
  • ?:\WINNT\$*
  • ?:\WINNT\I386\*
  • ?:\WINNT\ie7updates\*
  • ?:\WINNT\Installer\*
  • ?:\WINNT\ServicePackFiles\*
  • ?:\WINNT\SoftwareDistribution\*
  • ?:\WINNT\Downloaded Installations\*
  • *.7z
  • *.arj
  • *.bz2
  • *.cab
  • *.gz
  • *.lzh
  • *.rar
  • *.rpm
  • *.tar
  • *.z
  • *.zip
  • *.msi

Can I run JkDefrag outside Windows?
JkDefrag is based on the Windows defragmentation library, so Windows must be started. JkDefrag can be run from a bootable Windows CD-rom (such as BartPE, see http://www.bootcd.us/), but cannot be run from a DOS bootable floppy.

Can JkDefrag do continuous background defragging?
In my opinion continuous background defragging and optimization is marketing hype and a bad idea. There is considerable overhead (CPU, memory, disk) that may actually make your computer slower instead of faster, and it will wear out and shorten the lifespan of your harddisk. I advise defragging once a day (via the Windows Task Scheduler) at the most.

Can I "hide" the program from users?
Create a special userid (for example "jkdefrag") with administrator permissions, then add a schedule to the Windows Task Scheduler (see above) and specify that userid when asked for. The task will then run on that userid and not show anything on the user's screen. But I advise against it, I think it will needlessly worry the user when he sees a lot of mysterious disk activity.

How do I disable Vista's build-in defragger?
  1. Click "Start"
  2. Click "Control Panel"
  3. In the left menu select "Control Panel Home"
  4. Click "System and Maintenance"
  5. Under the "Administrative Tools" section at the bottom, click "Defragment your hard drive"
  6. You may need to grant permission to open the disk fragmenter
  7. Click or unclick "Run on a schedule (recommended)" depending if you want this feature enabled or disabled.
  8. Click OK

Why use this defragger instead of the standard Windows defragger?
  • Much faster.
  • Totally automatic, extremely easy to use.
  • Optimized for daily use.
  • Data optimization, several strategies.
  • Directories are moved to the beginning of the disk.
  • Reclaims MFT reserved space after disk-full.
  • Maintains free spaces for temporary files.
  • Can defrag very full harddisks.
  • Can defrag very large files.
  • Can defrag individual directories and files.
  • Can be run automatically with the Windows Scheduler.
  • Can be used from the commandline.
  • Can be used as a screen saver.
  • Sources available, can be customized.

Why use this defragger instead of a commercial or shareware defragger?
  • It's free.
  • Totally automatic, extremely easy to use.
  • Optimized for daily use.
  • Several optimization strategies.
  • Directories are moved to the beginning of the disk.
  • Reclaims MFT reserved space after disk-full.
  • Maintains free spaces for temporary files.
  • Can defrag individual directories and files.
  • Can be used from the commandline.
  • Can be used as a screen saver.
  • Sources available, guaranteed to be free of spyware, malware, nagware, and such.

How it works


JkDefrag is based on the standard Defragmentation Interface by Microsoft (the FSCTL_GET_VOLUME_BITMAP, FSCTL_GET_RETRIEVAL_POINTERS, and FSCTL_MOVE_FILE function calls), just like all other defragmentors. It is therefore very solid, there is no risk of losing data or the disk getting scrambled, and you can run it while the computer is in full use.

Phase 1: Analyze
JkDefrag has to scan all the files on the disk to determine if they are fragmented and where they are. At the moment it uses very inefficient Microsoft function calls, in the future I hope to speed this up by directly reading the MFT and FAT.
Phase 2: Fixup
JkDefrag walks through all the files on the harddisk and does the following:
  • All fragmented files are defragmented, simply by moving them to the first gap on the disk that is big enough. If there is no gap big enough then the defragmenter will reduce the number of fragments in the file by moving as much of the file as possible into the largest gaps available.
  • Windows reserves a percentage of the disk for the MFT (Master File Table), but can place normal files there if the rest of the disk is full. The files will remain there, even when there is enough space again. JkDefrag looks for files in the MFT reserved space and moves them to normal diskspace, making the reserved space available again for the MFT.
  • Regular files are moved out of the directory zone, and spacehogs are moved out of the directory and regular zones. This prepares the disk for the next step (optimization) so it can do a better job. See below for more information about the zones.
Phase 3: Optimize
  • On most harddisks the beginning of the harddisk is considerably faster than the end, sometimes by as much as 200 percent! See the link to "DiskSpeed32" in the "See Also" chapter for a nice little free program to measure your disk. The default JkDefrag optimization strategy therefore moves all files to the beginning of the volume. It is intended for daily use and will simply fill gaps with files from above, very quick and with very little data movement.
  • Sorting the files on your disk can give you even more speed. There are several sorting strategies to choose from (see the "-a" options). These are all very slow and intended for occasional use only.
  • JkDefrag classifies files into 3 zones: directories (zone 1), regular files (zone 2), and space hogs (zone 3). Files outside their zone are moved to their zone. Directories are perhaps the most accessed data on disk, so zone 1 is placed at the beginning of the harddisk. After the directories comes a free area (see below), then zone 2 with regular files, another free area, and then zone 3 with space hogs, which are files bigger than 50 megabytes; files not accessed in the last month; files with certain filenames such as archives; files in the recycle bin; service pack files, and other infrequently accessed data. The begin and end of the zones is determined automatically, see the "-f" option.
  • A running computer will create and delete temporary files like there is no tomorrow. If the harddisk were completely optimized then the only place for new temporary files would be behind all the other data. Which is rather slow. So JkDefrag maintains a free space of 1% of the total disk space between zone 1 (directories) and zone 2 (regular files), and between zone 2 and zone 3 (space hogs).
When the utility is running you will see lot's of messages zipping by showing you exactly what is happening. The messages are also stored in the logfile ("JkDefrag.log" or "JkDefragCmd.log") for later inspection. The logfile may also contain warning messages, for example when a file could not be moved. This is normal, no need to worry. Windows has many system files that cannot be moved while Windows is running.

Known problems


  • The Windows defragmentation API refuses to move directories on FAT32 filesystems. This is a known FAT32 limitation and not a bug in JkDefrag.
  • The Windows defragmentation API on Windows 2000 does not work on disks that were formatted with a clustersize greater than 4KB. This is a known API limitation and not a bug in JkDefrag. There is no risk of losing data, the API simply refuses to move files.
  • A user has reported that his computer freezes when Avira Antivir Professional starts while the JkDefrag screensaver is active.
  • A user has sent me a message that HP advises against defragmentation of the special "recovery" partition on their computers. My defragger uses the standard Microsoft defragmentation API, so I think it is safe to use, but I don't know for sure. I have not found any additional information about this issue anywhere on the internet.
  • JkDefrag makes a special exception for the "safeboot.fs" file created by the "http://www.safeboot.com/" software, and the "?:\bootwiz.sys" and "*\BOOTWIZ\*" files created by the "Acronis OS Selector" software. These files will never be moved. If you know of any other software that needs a special exception then please let me know.

Contributed by other people


JkDefrag was designed to be fully automatic and is extremely easy to use. Most users can use the program as-is. The GUI wrappers described below can be useful if you have special requirements, they are easier to use than the commandline options.

 *  French version
JkDefrag and all the docs translated into French by Sparad0x. Included are a Setup program and the sources.
 *  German version
JkDefrag and all the docs translated into German by Markus H÷rl. Also available is a Setup program and a GUI wrapper.
 *  Spanish version
JkDefrag and all the docs translated into Spanish by Manuel Montero. Also available is a translated version of Emiel Wieldraaijer's GUI.
 *  Italian version
All the docs (not the program itself) translated into Italian by Danilo Angaroni.
 *  Traditional Chinese version
JkDefrag (the program, not the docs) translated into Traditional Chinese by Eddy Guo. Also available is a GUI. Sources included.
 *  JkDefragGui
GUI program by Emiel Wieldraaijer. In English, Dutch, German, French, Spanish, Portuguese, Italian, Romanian, Swedish, Mayar, Polish, Bulgarian, Catalan, Japanese, Slovenian, Russian, and Greek/Hellenic. Includes the "autoit" sources.
 *  JkDefragGui
GUI program by Dirk Paehl. In English. Sources are included.
 *  JkDefragTWGUI
GUI program by Thorsten Willert. Can handle multiple "jobs". In English, although the homepage is in German.
 *  JkDefragStarter
GUI program in German by Thomas Kolb. C++ sources are included.

See also


 *  JkDefrag forum
I have set up a forum for JkDefrag, a place where you can ask questions, give feedback about features you would like, share your experiences, share code that uses the defragger library, and other things about JkDefrag.

 *  HD Tune
Measure your harddisk and discover how much faster it is at the begin than at the end. Can also monitor the temperature of your harddisk and scan for surface errors.

 *  Defragmentation
Wikipedia page about defragmentation.

 *  Pagedefrag by Microsoft TechNet (formerly Sysinternals)
Paging files and registry hives cannot be defragmented on a running system. This sweet little utility will automatically defragment those files when the system is booting. The counterpart of this utility is "Contig", a small defragger for use on a running system, but my defragger is far superior.

 *  DiskView by Microsoft TechNet (formerly Sysinternals)
Small utility that shows which file is using a particular location on the harddisk. Use this if you are wondering which file JkDefrag could not move. The utility takes a while to start up, because it has to analyze all files one by one, but it's a very nice little utility nevertheless.
 *  HDview
Similar utility as DiskView, by Alexander Freudenberg. Much faster and for NTFS only.

 *  ScanDefrag
A very nice utility that will run maintenance programs as early as possible in the Windows startup. My defragger is one of the supported programs, others are for example Microsoft's Disk Cleanup, ScanDisk/Chkdsk, Norton's Disk Doctor, and others.

 *  AutoRuns by Microsoft TechNet (formerly Sysinternals)
Handy utility to discover all the things that are started when windows is booting.